package com.dfrz.problem.service;

import java.util.List;

import com.dfrz.problem.model.Employee;
import com.dfrz.problem.model.ProjectInfo;
import com.dfrz.problem.utils.Result;


public interface ProjectService {
	/**
	 * 新增项目
	 * @param pmId
	 * @param project
	 */
	void addProject(ProjectInfo project);
	
	/**
	 * 获取项目经理所在项目列表
	 * @param pmId
	 * @return
	 */
	Result<List<ProjectInfo>> getListProject(Integer pmId);
	
	/**
	 * 获取所有项目列表
	 * @return
	 */
	Result<List<ProjectInfo>> getAllProjects();
	
	/**
	 * 根据项目id项目问题信息
	 * @param projectId
	 * @return
	 */
	Result<ProjectInfo> getProjectOnId(int projectId);
	
	/**
	 * 关闭或开启项目
	 * @param projectInfo
	 */
	void closeOrOpenProject(ProjectInfo projectInfo);
	
	/**
	 * 移除项目所在员工
	 * @param list
	 * @param projectId 
	 */
	public void removePlayers(List<Employee> list, Integer projectId);
	
	/**
	 * 移除指定的项目成员
	 * @param employeeId
	 */
	public void removePlayer(Integer employeeId);
	
	/**
	 * 删除项目
	 * @param projectInfo
	 */
	void deleteProject(ProjectInfo projectInfo);
	
	/**
	 * 修改项目
	 * @param projectInfo
	 */
	void updateProject(ProjectInfo projectInfo);
}
